﻿using Dapper.Contrib.Extensions;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using Yuebon.Infrastructure;

namespace Yuebon.Shop.Models
{
    /// <summary>
    /// 分销员等级表，数据实体对象
    /// </summary>
    [Table("Shop_ReferralGrades")]
    [Serializable]
    public class ReferralGrades: ICreationAudited, IModificationAudited, IDeleteAudited
    {
        public ReferralGrades()
        {
        }

        #region Property ReferralGrades

            /// <summary>
            /// 主键
            /// </summary>
        [MaxLength(50)]
        [ExplicitKey]
        public virtual string Id
        {
            get; set;
        }

        /// <summary>
        /// 名称
        /// </summary>
        public virtual string Name
        {
            get; set;
        }

        /// <summary>
        /// 描述
        /// </summary>
        public virtual string Description
        {
            get; set;
        }

        /// <summary>
        /// 佣金门槛
        /// </summary>
        public virtual decimal CommissionThreshold
        {
            get; set;
        }
        /// <summary>
        /// 创建日期
        /// </summary>
        public virtual DateTime? CreatorTime { get; set; }

        /// <summary>
        /// 创建用户主键
        /// </summary>
        [MaxLength(50)]
        public virtual string CreatorUserId { get; set; }

        /// <summary>
        /// 创建用户组织主键
        /// </summary>
        [MaxLength(50)]
        public virtual string CompanyId { get; set; }
        /// <summary>
        /// 创建用户部门主键
        /// </summary>
        [MaxLength(50)]
        public virtual string DeptId { get; set; }
        /// <summary>
        /// 最后修改时间
        /// </summary>
        public virtual DateTime? LastModifyTime { get; set; }

        /// <summary>
        /// 最后修改用户
        /// </summary>
        [MaxLength(50)]
        public virtual string LastModifyUserId { get; set; }

        /// <summary>
        /// 删除时间
        /// </summary>
        public virtual DateTime? DeleteTime { get; set; }

        /// <summary>
        /// 删除用户
        /// </summary>
        [MaxLength(50)]
        public virtual string DeleteUserId { get; set; }
        /// <summary>
        /// 删除标志
        /// </summary>
        public virtual bool? DeleteMark { get; set; }

        #endregion
    }
}
